This section is intended to provide information relevant to understanding various technologies described herein. As the section's title implies, this is a discussion of related art that should in no way imply that it is prior art. Generally, related art may or may not be considered prior art. It should therefore be understood that any statement in this section should be read in this light, and not as any admission of prior art.
A silicon compiler is a software tool for designing integrated circuits based upon user-specified inputs. A silicon compiler is indispensable in designing VLSI (Very Large Scale Integration) circuits, and is a component of an EDA (Electronic Design Automation) system. A silicon compiler can generate various circuit views and files, such as a binary file specifying one or more lithography masks for circuit fabrication, a memory CDL (Circuit Design Language) view, a corner independent EDA view (e.g., Verilog), and a corner dependent specific EDA view (e.g., Liberty), to provide a few examples. A silicon compiler and can also help the circuit designer perform various circuit analyses, such as power consumption, timing, and noise characterization. In addition to the user-specified inputs, a silicon compiler can make use of an extraction deck available from a foundry to incorporate process effects in the circuit analyses, for example where the performance of the circuit may be simulated in response to user-specified PVT (Process-Voltage-Temperature) corners.
A memory compiler is a silicon compiler optimized for the design of memory circuits. In response to a user-specified option set, such as the size of the address space and memory, word size, type of memory, memory style, etc., a memory compiler makes available by way of circuit views various memory instances for analysis, characterization, and possible fabrication. In noise characterizing memory instances, a memory compiler creates semi-automatic vectors, runs simulations, collects simulation results, applies curve fitting, gathers curve-fitted data, and creates a noise database. Data validation and checks are performed to ensure that frontend EDA view results are aligned with noise-characterized results. Noise characterization is an important function of a memory compiler, and pin-based noise characterization models, such as the Composite Current Source (CCS) noise model, is available in industry standard modules for silicon compiler software, such as the open-source Liberty model. With decreasing component dimensions and with chip transistor counts in the billions, it is desirable for noise characterization to be rigorous but also computationally efficient in its use of processor time and system memory resources.